using System.Reflection;
using System.Runtime.InteropServices;


[assembly:AssemblyKeyFile("PersonCS.snk")]

namespace Wrox
{
	public interface IPersonCS
	{
		//person();
		//person(string firstName, string lastName);
		
		string FirstName{get; set;}
		string LastName{get; set;}
		
		string FullName();
	}
	
	public class PersonCS : IPersonCS
	{
	  private string _firstName;
	  private string _lastName;

	  public PersonCS() {}

	  public PersonCS(string firstName, string lastName)
	  {
		_firstName = firstName;
		_lastName = lastName;
	  }

	  public string FirstName
	  {
		get { return _firstName; }
		set { _firstName = value; }
	  }

	  public string LastName
	  {
		get { return _lastName; }
		set { _lastName = value; }
	  }

	  public string FullName()
	  {
		return _firstName + " " + _lastName;
	  }
	}

    [ClassInterfaceAttribute(ClassInterfaceType.AutoDual)]
	public class Person1CS
	{
	  private string _firstName;
	  private string _lastName;

	  public Person1CS() {}

	  public Person1CS(string firstName, string lastName)
	  {
		_firstName = firstName;
		_lastName = lastName;
	  }

	  public string FirstName
	  {
		get { return _firstName; }
		set { _firstName = value; }
	  }

	  public string LastName
	  {
		get { return _lastName; }
		set { _lastName = value; }
	  }

	  public string FullName()
	  {
		return _firstName + " " + _lastName;
	  }
	}

}